[INFO] cloning repository https://github.com/pashadia/bridge-stack-backend
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pashadia/bridge-stack-backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpashadia%2Fbridge-stack-backend", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpashadia%2Fbridge-stack-backend'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b72fb4a5acf9cdb66a320ce8ddd1f78daf56897f
[INFO] testing pashadia/bridge-stack-backend against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpashadia%2Fbridge-stack-backend" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/pashadia/bridge-stack-backend
[INFO] finished tweaking git repo https://github.com/pashadia/bridge-stack-backend
[INFO] tweaked toml for git repo https://github.com/pashadia/bridge-stack-backend written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pashadia/bridge-stack-backend on toolchain f9988fefd3add01f414f52b414308e7872622fee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pashadia/bridge-stack-backend already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/droundy/bridge-cards`
[INFO] [stderr]     Updating git repository `https://github.com/droundy/display-as`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand v0.8.3
[INFO] [stderr]   Downloaded glob v0.2.11
[INFO] [stderr]   Downloaded rand_hc v0.3.0
[INFO] [stderr]   Downloaded serde_derive v1.0.124
[INFO] [stderr]   Downloaded serde v1.0.124
[INFO] [stderr]   Downloaded syn v1.0.64
[INFO] [stderr]   Downloaded libc v0.2.89
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 31be2dda94ce19009829686d7b9f3300759e4fed26e7b50d916887ae8914abe3
[INFO] running `Command { std: "docker" "start" "-a" "31be2dda94ce19009829686d7b9f3300759e4fed26e7b50d916887ae8914abe3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31be2dda94ce19009829686d7b9f3300759e4fed26e7b50d916887ae8914abe3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31be2dda94ce19009829686d7b9f3300759e4fed26e7b50d916887ae8914abe3", kill_on_drop: false }`
[INFO] [stdout] 31be2dda94ce19009829686d7b9f3300759e4fed26e7b50d916887ae8914abe3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9d86c736ec7e2887d296bb6396569302642b985324981ba0a0a42a3d1f336072
[INFO] running `Command { std: "docker" "start" "-a" "9d86c736ec7e2887d296bb6396569302642b985324981ba0a0a42a3d1f336072", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.89
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling syn v1.0.64
[INFO] [stderr]    Compiling serde_derive v1.0.124
[INFO] [stderr]    Compiling serde v1.0.124
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling glob v0.2.11
[INFO] [stderr]    Compiling mime v0.3.16
[INFO] [stderr]    Compiling rand_core v0.6.2
[INFO] [stderr]    Compiling rand_chacha v0.3.0
[INFO] [stderr]    Compiling rand v0.8.3
[INFO] [stderr]    Compiling display-as-proc-macro v0.6.0 (https://github.com/droundy/display-as#41fcfb0c)
[INFO] [stderr]    Compiling display-as v0.6.0 (https://github.com/droundy/display-as#41fcfb0c)
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling bridge-deck v0.1.1 (https://github.com/droundy/bridge-cards?branch=main#acd38fdb)
[INFO] [stderr]    Compiling bridge-backend v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/contract/mod.rs:129:62
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, FromPrimitive)]
[INFO] [stdout]     |                                                              ^------------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `FromPrimitive` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ContractLevel`
[INFO] [stdout] 130 | pub enum ContractLevel {
[INFO] [stdout]     |          ------------- `ContractLevel` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.01s
[INFO] running `Command { std: "docker" "inspect" "9d86c736ec7e2887d296bb6396569302642b985324981ba0a0a42a3d1f336072", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d86c736ec7e2887d296bb6396569302642b985324981ba0a0a42a3d1f336072", kill_on_drop: false }`
[INFO] [stdout] 9d86c736ec7e2887d296bb6396569302642b985324981ba0a0a42a3d1f336072
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 09f0d31c0a870ea03c64aa8e2c9aad4dadd85c4c0174d605cec04586ba984248
[INFO] running `Command { std: "docker" "start" "-a" "09f0d31c0a870ea03c64aa8e2c9aad4dadd85c4c0174d605cec04586ba984248", kill_on_drop: false }`
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/contract/mod.rs:129:62
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, FromPrimitive)]
[INFO] [stdout]     |                                                              ^------------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `FromPrimitive` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ContractLevel`
[INFO] [stdout] 130 | pub enum ContractLevel {
[INFO] [stdout]     |          ------------- `ContractLevel` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bridge-backend v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ContractLevel`
[INFO] [stdout]  --> src/auction/tests.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::contract::{ContractLevel, Strain};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/contract/mod.rs:129:62
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, FromPrimitive)]
[INFO] [stdout]     |                                                              ^------------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `FromPrimitive` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ContractLevel`
[INFO] [stdout] 130 | pub enum ContractLevel {
[INFO] [stdout]     |          ------------- `ContractLevel` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.96s
[INFO] running `Command { std: "docker" "inspect" "09f0d31c0a870ea03c64aa8e2c9aad4dadd85c4c0174d605cec04586ba984248", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09f0d31c0a870ea03c64aa8e2c9aad4dadd85c4c0174d605cec04586ba984248", kill_on_drop: false }`
[INFO] [stdout] 09f0d31c0a870ea03c64aa8e2c9aad4dadd85c4c0174d605cec04586ba984248
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a9788a1858ab0c7c44d01353fb811da714ee0f393ab217ceca62e137795da7ce
[INFO] running `Command { std: "docker" "start" "-a" "a9788a1858ab0c7c44d01353fb811da714ee0f393ab217ceca62e137795da7ce", kill_on_drop: false }`
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/contract/mod.rs:129:62
[INFO] [stderr]     |
[INFO] [stderr] 129 | #[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, FromPrimitive)]
[INFO] [stderr]     |                                                              ^------------
[INFO] [stderr]     |                                                              |
[INFO] [stderr]     |                                                              `FromPrimitive` is not local
[INFO] [stderr]     |                                                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ContractLevel`
[INFO] [stderr] 130 | pub enum ContractLevel {
[INFO] [stderr]     |          ------------- `ContractLevel` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ContractLevel`
[INFO] [stderr]  --> src/auction/tests.rs:5:23
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::contract::{ContractLevel, Strain};
[INFO] [stderr]   |                       ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `bridge-backend` (lib) generated 1 warning
[INFO] [stderr] warning: `bridge-backend` (lib test) generated 2 warnings (1 duplicate) (run `cargo fix --lib -p bridge-backend --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bridge_backend-f223131f4f6c989e)
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test auction::tests::auction_finished ... ok
[INFO] [stdout] test auction::tests::basic::comparisons ... ok
[INFO] [stdout] test auction::tests::basic::read_strain_bid ... ok
[INFO] [stdout] test auction::tests::can_pass_out ... ok
[INFO] [stdout] test auction::tests::contract::declarer_did_actually_win_auction ... ok
[INFO] [stdout] test auction::tests::contract::declarer_is_first_to_name_contract ... ok
[INFO] [stdout] test auction::tests::contract::other_declarers ... ok
[INFO] [stdout] test auction::tests::contract::passout ... ok
[INFO] [stdout] test auction::tests::contract::redoubled_contract ... ok
[INFO] [stdout] test auction::tests::disallow_insufficient ... ok
[INFO] [stdout] test auction::tests::doubles ... ok
[INFO] [stdout] test auction::tests::redoubles ... ok
[INFO] [stdout] test cardplay::tests::start_new_board ... ok
[INFO] [stdout] test cardplay::trick::tests::new ... ok
[INFO] [stdout] test auction::tests::contract::basic_contract ... ok
[INFO] [stdout] test contract::tests::basic::comparisons ... ok
[INFO] [stdout] test contract::tests::doubled_partscores ... ok
[INFO] [stdout] test contract::tests::games_doubled ... ok
[INFO] [stdout] test contract::tests::new ... ok
[INFO] [stdout] test contract::tests::games_undoubled ... ok
[INFO] [stdout] test contract::tests::partscores_made_undoubled ... ok
[INFO] [stdout] test contract::tests::score_doubled_down ... ok
[INFO] [stdout] test contract::tests::score_redoubled_down ... ok
[INFO] [stdout] test tests::correct_number_of_cards ... ok
[INFO] [stdout] test tests::new_board ... ok
[INFO] [stdout] test auction::tests::can_bid_strain ... ok
[INFO] [stdout] test auction::tests::contract::doubled_contract ... ok
[INFO] [stdout] test contract::tests::score_undoubled_down ... ok
[INFO] [stdout] test contract::tests::slams ... ok
[INFO] [stdout] test tests::all_cards_should_exist ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests bridge_backend
[INFO] [stderr] warning: lint `missing_crate_level_docs` has been renamed to `rustdoc::missing_crate_level_docs`
[INFO] [stderr]  --> src/lib.rs:3:9
[INFO] [stderr]   |
[INFO] [stderr] 3 | #![deny(missing_crate_level_docs)]
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `rustdoc::missing_crate_level_docs`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/auction/mod.rs - auction::Auction::bid (line 60) ... FAILED
[INFO] [stdout] test src/auction/mod.rs - auction::Error::CantDouble (line 273) ... ok
[INFO] [stdout] test src/lib.rs - Board::vulnerability (line 56) ... ok
[INFO] [stdout] test src/lib.rs - Board::dealer (line 73) ... ok
[INFO] [stdout] test src/auction/mod.rs - auction::Auction (line 17) ... ok
[INFO] [stdout] test src/lib.rs - turns (line 143) ... ok
[INFO] [stdout] test src/auction/mod.rs - auction::Error::CantRedouble (line 292) ... ok
[INFO] [stdout] test src/auction/mod.rs - auction::Error::InsufficientBid (line 256) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/auction/mod.rs - auction::Auction::bid (line 60) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/auction/mod.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_auction_mod_rs_60_0() {
[INFO] [stdout]    |                                      ------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 65 | auction.bid(TWO_SPADES)?;
[INFO] [stdout]    |                        ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 61 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_auction_mod_rs_60_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 62 | use bridge_backend::{Auction, BridgeDirection};
[INFO] [stdout] ...
[INFO] [stdout] 68 | auction.bid(PASS)?;
[INFO] [stdout] 69 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/auction/mod.rs:66:20
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_auction_mod_rs_60_0() {
[INFO] [stdout]    |                                      ------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 66 | auction.bid(DOUBLE)?;
[INFO] [stdout]    |                    ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 61 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_auction_mod_rs_60_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 62 | use bridge_backend::{Auction, BridgeDirection};
[INFO] [stdout] ...
[INFO] [stdout] 68 | auction.bid(PASS)?;
[INFO] [stdout] 69 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/auction/mod.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_auction_mod_rs_60_0() {
[INFO] [stdout]    |                                      ------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 67 | auction.bid(REDOUBLE)?;
[INFO] [stdout]    |                      ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 61 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_auction_mod_rs_60_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 62 | use bridge_backend::{Auction, BridgeDirection};
[INFO] [stdout] ...
[INFO] [stdout] 68 | auction.bid(PASS)?;
[INFO] [stdout] 69 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/auction/mod.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_auction_mod_rs_60_0() {
[INFO] [stdout]    |                                      ------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 68 | auction.bid(PASS)?;
[INFO] [stdout]    |                  ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 61 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_auction_mod_rs_60_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 62 | use bridge_backend::{Auction, BridgeDirection};
[INFO] [stdout] ...
[INFO] [stdout] 68 | auction.bid(PASS)?;
[INFO] [stdout] 69 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/auction/mod.rs - auction::Auction::bid (line 60)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 7 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.81s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "a9788a1858ab0c7c44d01353fb811da714ee0f393ab217ceca62e137795da7ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a9788a1858ab0c7c44d01353fb811da714ee0f393ab217ceca62e137795da7ce", kill_on_drop: false }`
[INFO] [stdout] a9788a1858ab0c7c44d01353fb811da714ee0f393ab217ceca62e137795da7ce
